/*
 * $Id: $
 */
package org.rcgwt.client.ui.grid.provider;

import java.util.Iterator;

import org.rcgwt.client.ui.grid.model.IColumn;
import org.rcgwt.client.ui.grid.model.IDataModel;

/**
 * 
 * @author Olivier Oeuillot (latest modification by $Author: $)
 * @version $Revision: $ $Date: $
 */
public interface IColumnProvider {

    void setDataModel(IDataModel dataModel);

    IColumn getColumnByModelIndex(int columnModelIndex);

    int getColumnCount();

    // TITLE
    Iterator<Integer> getColumnModelIndexes(int titleRowModelIndex);

    int getTitleRowCount();

    // Ordered column indexes
    Iterator<Integer> getColumnModelIndexes();

    IColumn addColumn(String name, String title);
}
